package com.cskaoyan.com.collection.queue;

import java.util.ArrayDeque;
import java.util.Queue;

public class DemoQueue1 {
    public static void main(String[] args) {

// 1, Queue接口是Collection接口的子接口
// 2, Queue接口定义了数据结构为 队列
// 3, Queue接口下的子实现存储数据有序
// 4, Queue接口下的子实现允许存储重复数据
// 5, Queue接口下的子实现不允许存储null  (LinkedList除外)

// 注意:
//  虽然从数据结构逻辑上, 一个队列应该是允许存储null,
//  但是由于Queue接口定义了一个poll方法(出队列方法),
//  这个poll方法是以返回null 来标记没有数据可以出队列了,
//  这样的话如果我们允许Queue存储null
//  当poll方法返回null就会引起歧义


        Queue<String>  queue = new ArrayDeque<>();

        queue.offer("zs");
        queue.offer("ls");

        System.out.println(queue.poll());
        System.out.println(queue.poll());
        System.out.println(queue.poll());


    }
}
